package com.jsz.peini.bean.coupon;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CouponInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CouponInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCouponNameIsNull() {
            addCriterion("coupon_name is null");
            return (Criteria) this;
        }

        public Criteria andCouponNameIsNotNull() {
            addCriterion("coupon_name is not null");
            return (Criteria) this;
        }

        public Criteria andCouponNameEqualTo(String value) {
            addCriterion("coupon_name =", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotEqualTo(String value) {
            addCriterion("coupon_name <>", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameGreaterThan(String value) {
            addCriterion("coupon_name >", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_name >=", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLessThan(String value) {
            addCriterion("coupon_name <", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLessThanOrEqualTo(String value) {
            addCriterion("coupon_name <=", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLike(String value) {
            addCriterion("coupon_name like", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotLike(String value) {
            addCriterion("coupon_name not like", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameIn(List<String> values) {
            addCriterion("coupon_name in", values, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotIn(List<String> values) {
            addCriterion("coupon_name not in", values, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameBetween(String value1, String value2) {
            addCriterion("coupon_name between", value1, value2, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotBetween(String value1, String value2) {
            addCriterion("coupon_name not between", value1, value2, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNull() {
            addCriterion("coupon_type is null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNotNull() {
            addCriterion("coupon_type is not null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeEqualTo(Integer value) {
            addCriterion("coupon_type =", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotEqualTo(Integer value) {
            addCriterion("coupon_type <>", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThan(Integer value) {
            addCriterion("coupon_type >", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_type >=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThan(Integer value) {
            addCriterion("coupon_type <", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_type <=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIn(List<Integer> values) {
            addCriterion("coupon_type in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotIn(List<Integer> values) {
            addCriterion("coupon_type not in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type not between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyIsNull() {
            addCriterion("coupon_money is null");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyIsNotNull() {
            addCriterion("coupon_money is not null");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyEqualTo(Integer value) {
            addCriterion("coupon_money =", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyNotEqualTo(Integer value) {
            addCriterion("coupon_money <>", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyGreaterThan(Integer value) {
            addCriterion("coupon_money >", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_money >=", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyLessThan(Integer value) {
            addCriterion("coupon_money <", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_money <=", value, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyIn(List<Integer> values) {
            addCriterion("coupon_money in", values, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyNotIn(List<Integer> values) {
            addCriterion("coupon_money not in", values, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyBetween(Integer value1, Integer value2) {
            addCriterion("coupon_money between", value1, value2, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_money not between", value1, value2, "couponMoney");
            return (Criteria) this;
        }

        public Criteria andCouponNumIsNull() {
            addCriterion("coupon_num is null");
            return (Criteria) this;
        }

        public Criteria andCouponNumIsNotNull() {
            addCriterion("coupon_num is not null");
            return (Criteria) this;
        }

        public Criteria andCouponNumEqualTo(Integer value) {
            addCriterion("coupon_num =", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumNotEqualTo(Integer value) {
            addCriterion("coupon_num <>", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumGreaterThan(Integer value) {
            addCriterion("coupon_num >", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_num >=", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumLessThan(Integer value) {
            addCriterion("coupon_num <", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_num <=", value, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumIn(List<Integer> values) {
            addCriterion("coupon_num in", values, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumNotIn(List<Integer> values) {
            addCriterion("coupon_num not in", values, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumBetween(Integer value1, Integer value2) {
            addCriterion("coupon_num between", value1, value2, "couponNum");
            return (Criteria) this;
        }

        public Criteria andCouponNumNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_num not between", value1, value2, "couponNum");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeIsNull() {
            addCriterion("first_date_time is null");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeIsNotNull() {
            addCriterion("first_date_time is not null");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeEqualTo(Date value) {
            addCriterion("first_date_time =", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeNotEqualTo(Date value) {
            addCriterion("first_date_time <>", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeGreaterThan(Date value) {
            addCriterion("first_date_time >", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("first_date_time >=", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeLessThan(Date value) {
            addCriterion("first_date_time <", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeLessThanOrEqualTo(Date value) {
            addCriterion("first_date_time <=", value, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeIn(List<Date> values) {
            addCriterion("first_date_time in", values, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeNotIn(List<Date> values) {
            addCriterion("first_date_time not in", values, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeBetween(Date value1, Date value2) {
            addCriterion("first_date_time between", value1, value2, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andFirstDateTimeNotBetween(Date value1, Date value2) {
            addCriterion("first_date_time not between", value1, value2, "firstDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeIsNull() {
            addCriterion("last_date_time is null");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeIsNotNull() {
            addCriterion("last_date_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeEqualTo(Date value) {
            addCriterion("last_date_time =", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeNotEqualTo(Date value) {
            addCriterion("last_date_time <>", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeGreaterThan(Date value) {
            addCriterion("last_date_time >", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_date_time >=", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeLessThan(Date value) {
            addCriterion("last_date_time <", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_date_time <=", value, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeIn(List<Date> values) {
            addCriterion("last_date_time in", values, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeNotIn(List<Date> values) {
            addCriterion("last_date_time not in", values, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeBetween(Date value1, Date value2) {
            addCriterion("last_date_time between", value1, value2, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andLastDateTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_date_time not between", value1, value2, "lastDateTime");
            return (Criteria) this;
        }

        public Criteria andCouponSrcIsNull() {
            addCriterion("coupon_src is null");
            return (Criteria) this;
        }

        public Criteria andCouponSrcIsNotNull() {
            addCriterion("coupon_src is not null");
            return (Criteria) this;
        }

        public Criteria andCouponSrcEqualTo(String value) {
            addCriterion("coupon_src =", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcNotEqualTo(String value) {
            addCriterion("coupon_src <>", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcGreaterThan(String value) {
            addCriterion("coupon_src >", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_src >=", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcLessThan(String value) {
            addCriterion("coupon_src <", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcLessThanOrEqualTo(String value) {
            addCriterion("coupon_src <=", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcLike(String value) {
            addCriterion("coupon_src like", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcNotLike(String value) {
            addCriterion("coupon_src not like", value, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcIn(List<String> values) {
            addCriterion("coupon_src in", values, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcNotIn(List<String> values) {
            addCriterion("coupon_src not in", values, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcBetween(String value1, String value2) {
            addCriterion("coupon_src between", value1, value2, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponSrcNotBetween(String value1, String value2) {
            addCriterion("coupon_src not between", value1, value2, "couponSrc");
            return (Criteria) this;
        }

        public Criteria andCouponRuleIsNull() {
            addCriterion("coupon_rule is null");
            return (Criteria) this;
        }

        public Criteria andCouponRuleIsNotNull() {
            addCriterion("coupon_rule is not null");
            return (Criteria) this;
        }

        public Criteria andCouponRuleEqualTo(String value) {
            addCriterion("coupon_rule =", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleNotEqualTo(String value) {
            addCriterion("coupon_rule <>", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleGreaterThan(String value) {
            addCriterion("coupon_rule >", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_rule >=", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleLessThan(String value) {
            addCriterion("coupon_rule <", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleLessThanOrEqualTo(String value) {
            addCriterion("coupon_rule <=", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleLike(String value) {
            addCriterion("coupon_rule like", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleNotLike(String value) {
            addCriterion("coupon_rule not like", value, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleIn(List<String> values) {
            addCriterion("coupon_rule in", values, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleNotIn(List<String> values) {
            addCriterion("coupon_rule not in", values, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleBetween(String value1, String value2) {
            addCriterion("coupon_rule between", value1, value2, "couponRule");
            return (Criteria) this;
        }

        public Criteria andCouponRuleNotBetween(String value1, String value2) {
            addCriterion("coupon_rule not between", value1, value2, "couponRule");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyIsNull() {
            addCriterion("rule_money is null");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyIsNotNull() {
            addCriterion("rule_money is not null");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyEqualTo(Integer value) {
            addCriterion("rule_money =", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyNotEqualTo(Integer value) {
            addCriterion("rule_money <>", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyGreaterThan(Integer value) {
            addCriterion("rule_money >", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("rule_money >=", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyLessThan(Integer value) {
            addCriterion("rule_money <", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("rule_money <=", value, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyIn(List<Integer> values) {
            addCriterion("rule_money in", values, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyNotIn(List<Integer> values) {
            addCriterion("rule_money not in", values, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyBetween(Integer value1, Integer value2) {
            addCriterion("rule_money between", value1, value2, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andRuleMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("rule_money not between", value1, value2, "ruleMoney");
            return (Criteria) this;
        }

        public Criteria andReceivenumIsNull() {
            addCriterion("receiveNum is null");
            return (Criteria) this;
        }

        public Criteria andReceivenumIsNotNull() {
            addCriterion("receiveNum is not null");
            return (Criteria) this;
        }

        public Criteria andReceivenumEqualTo(Long value) {
            addCriterion("receiveNum =", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumNotEqualTo(Long value) {
            addCriterion("receiveNum <>", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumGreaterThan(Long value) {
            addCriterion("receiveNum >", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumGreaterThanOrEqualTo(Long value) {
            addCriterion("receiveNum >=", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumLessThan(Long value) {
            addCriterion("receiveNum <", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumLessThanOrEqualTo(Long value) {
            addCriterion("receiveNum <=", value, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumIn(List<Long> values) {
            addCriterion("receiveNum in", values, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumNotIn(List<Long> values) {
            addCriterion("receiveNum not in", values, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumBetween(Long value1, Long value2) {
            addCriterion("receiveNum between", value1, value2, "receivenum");
            return (Criteria) this;
        }

        public Criteria andReceivenumNotBetween(Long value1, Long value2) {
            addCriterion("receiveNum not between", value1, value2, "receivenum");
            return (Criteria) this;
        }

        public Criteria andUsenumIsNull() {
            addCriterion("useNum is null");
            return (Criteria) this;
        }

        public Criteria andUsenumIsNotNull() {
            addCriterion("useNum is not null");
            return (Criteria) this;
        }

        public Criteria andUsenumEqualTo(Long value) {
            addCriterion("useNum =", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotEqualTo(Long value) {
            addCriterion("useNum <>", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumGreaterThan(Long value) {
            addCriterion("useNum >", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumGreaterThanOrEqualTo(Long value) {
            addCriterion("useNum >=", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumLessThan(Long value) {
            addCriterion("useNum <", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumLessThanOrEqualTo(Long value) {
            addCriterion("useNum <=", value, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumIn(List<Long> values) {
            addCriterion("useNum in", values, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotIn(List<Long> values) {
            addCriterion("useNum not in", values, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumBetween(Long value1, Long value2) {
            addCriterion("useNum between", value1, value2, "usenum");
            return (Criteria) this;
        }

        public Criteria andUsenumNotBetween(Long value1, Long value2) {
            addCriterion("useNum not between", value1, value2, "usenum");
            return (Criteria) this;
        }

        public Criteria andLastedittimeIsNull() {
            addCriterion("lastEditTime is null");
            return (Criteria) this;
        }

        public Criteria andLastedittimeIsNotNull() {
            addCriterion("lastEditTime is not null");
            return (Criteria) this;
        }

        public Criteria andLastedittimeEqualTo(Date value) {
            addCriterion("lastEditTime =", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeNotEqualTo(Date value) {
            addCriterion("lastEditTime <>", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeGreaterThan(Date value) {
            addCriterion("lastEditTime >", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeGreaterThanOrEqualTo(Date value) {
            addCriterion("lastEditTime >=", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeLessThan(Date value) {
            addCriterion("lastEditTime <", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeLessThanOrEqualTo(Date value) {
            addCriterion("lastEditTime <=", value, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeIn(List<Date> values) {
            addCriterion("lastEditTime in", values, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeNotIn(List<Date> values) {
            addCriterion("lastEditTime not in", values, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeBetween(Date value1, Date value2) {
            addCriterion("lastEditTime between", value1, value2, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLastedittimeNotBetween(Date value1, Date value2) {
            addCriterion("lastEditTime not between", value1, value2, "lastedittime");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonIsNull() {
            addCriterion("lastEditPerson is null");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonIsNotNull() {
            addCriterion("lastEditPerson is not null");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonEqualTo(String value) {
            addCriterion("lastEditPerson =", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonNotEqualTo(String value) {
            addCriterion("lastEditPerson <>", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonGreaterThan(String value) {
            addCriterion("lastEditPerson >", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonGreaterThanOrEqualTo(String value) {
            addCriterion("lastEditPerson >=", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonLessThan(String value) {
            addCriterion("lastEditPerson <", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonLessThanOrEqualTo(String value) {
            addCriterion("lastEditPerson <=", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonLike(String value) {
            addCriterion("lastEditPerson like", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonNotLike(String value) {
            addCriterion("lastEditPerson not like", value, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonIn(List<String> values) {
            addCriterion("lastEditPerson in", values, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonNotIn(List<String> values) {
            addCriterion("lastEditPerson not in", values, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonBetween(String value1, String value2) {
            addCriterion("lastEditPerson between", value1, value2, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andLasteditpersonNotBetween(String value1, String value2) {
            addCriterion("lastEditPerson not between", value1, value2, "lasteditperson");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardIsNull() {
            addCriterion("new_user_award is null");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardIsNotNull() {
            addCriterion("new_user_award is not null");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardEqualTo(Integer value) {
            addCriterion("new_user_award =", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardNotEqualTo(Integer value) {
            addCriterion("new_user_award <>", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardGreaterThan(Integer value) {
            addCriterion("new_user_award >", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardGreaterThanOrEqualTo(Integer value) {
            addCriterion("new_user_award >=", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardLessThan(Integer value) {
            addCriterion("new_user_award <", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardLessThanOrEqualTo(Integer value) {
            addCriterion("new_user_award <=", value, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardIn(List<Integer> values) {
            addCriterion("new_user_award in", values, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardNotIn(List<Integer> values) {
            addCriterion("new_user_award not in", values, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardBetween(Integer value1, Integer value2) {
            addCriterion("new_user_award between", value1, value2, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andNewUserAwardNotBetween(Integer value1, Integer value2) {
            addCriterion("new_user_award not between", value1, value2, "newUserAward");
            return (Criteria) this;
        }

        public Criteria andPositionIsNull() {
            addCriterion("position is null");
            return (Criteria) this;
        }

        public Criteria andPositionIsNotNull() {
            addCriterion("position is not null");
            return (Criteria) this;
        }

        public Criteria andPositionEqualTo(Integer value) {
            addCriterion("position =", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotEqualTo(Integer value) {
            addCriterion("position <>", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThan(Integer value) {
            addCriterion("position >", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThanOrEqualTo(Integer value) {
            addCriterion("position >=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThan(Integer value) {
            addCriterion("position <", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThanOrEqualTo(Integer value) {
            addCriterion("position <=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionIn(List<Integer> values) {
            addCriterion("position in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotIn(List<Integer> values) {
            addCriterion("position not in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionBetween(Integer value1, Integer value2) {
            addCriterion("position between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotBetween(Integer value1, Integer value2) {
            addCriterion("position not between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextIsNull() {
            addCriterion("coupon_rule_text is null");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextIsNotNull() {
            addCriterion("coupon_rule_text is not null");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextEqualTo(String value) {
            addCriterion("coupon_rule_text =", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextNotEqualTo(String value) {
            addCriterion("coupon_rule_text <>", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextGreaterThan(String value) {
            addCriterion("coupon_rule_text >", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_rule_text >=", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextLessThan(String value) {
            addCriterion("coupon_rule_text <", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextLessThanOrEqualTo(String value) {
            addCriterion("coupon_rule_text <=", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextLike(String value) {
            addCriterion("coupon_rule_text like", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextNotLike(String value) {
            addCriterion("coupon_rule_text not like", value, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextIn(List<String> values) {
            addCriterion("coupon_rule_text in", values, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextNotIn(List<String> values) {
            addCriterion("coupon_rule_text not in", values, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextBetween(String value1, String value2) {
            addCriterion("coupon_rule_text between", value1, value2, "couponRuleText");
            return (Criteria) this;
        }

        public Criteria andCouponRuleTextNotBetween(String value1, String value2) {
            addCriterion("coupon_rule_text not between", value1, value2, "couponRuleText");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}